package com.shujia.core

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo6Filter {
  def main(args: Array[String]): Unit = {
    /**
     * filter：转换算子
     * 需要接收一个函数f：参数类型同RDD中的泛型，返回值类型是Boolean类型
     * 会根据函数f的返回值对数据进行过滤
     * 如果返回true则保留数据，返回false则将数据过滤
     */


    // 构建Spark上下文环境
    val conf: SparkConf = new SparkConf()
    conf.setAppName("Demo6Filter")
    conf.setMaster("local")
    val sc: SparkContext = new SparkContext(conf)


    // 1、读取students数据
    val linesRDD: RDD[String] = sc.textFile("Spark/data/stu/students.txt")

    // 过滤出理科班的学生
    val filterRDD: RDD[String] = linesRDD
      .filter(line => line.split(",")(4).startsWith("理科"))

    filterRDD.foreach(println)


  }

}
